﻿using Sgs.Model;
using System.Collections.Generic;
using static Sgs.Model.Card;
using static Sgs.Model.Hero;


namespace Sgs.Package
{
    class Basic : PackageModule
    {

        private readonly List<Hero> Heroes = new List<Hero>() {
            new Hero("士兵", 0, 3, HeroPower.群),
            new Hero("士兵", 0, 3, HeroPower.群),
            new Hero("士兵", 0, 3, HeroPower.群),
            new Hero("士兵", 0, 3, HeroPower.群),
            new Hero("士兵", 0, 3, HeroPower.群),
            new Hero("士兵", 0, 3, HeroPower.群),
            new Hero("士兵", 0, 3, HeroPower.群),
            new Hero("士兵", 0, 3, HeroPower.群),
            new Hero("士兵", 0, 3, HeroPower.群),
            new Hero("士兵", 0, 3, HeroPower.群),
            new Hero("士兵", 0, 3, HeroPower.群),
            new Hero("士兵", 0, 3, HeroPower.群),
            new Hero("士兵", 0, 3, HeroPower.群),
        };
        private readonly List<Card> Cards = new List<Card>()
        {
            // 8张桃
            new Card("桃",1, CardColor.红桃,CardPoint.N3, CardType.基本, (Player player) => {
                player.Use桃();
            }),
            new Card("桃",2, CardColor.红桃,CardPoint.N4, CardType.基本, (Player player) => {
                player.Use桃();
            }),
            new Card("桃",3, CardColor.红桃,CardPoint.N7, CardType.基本, (Player player) => {
                player.Use桃();
            }),
            new Card("桃",4, CardColor.红桃,CardPoint.N8, CardType.基本, (Player player) => {
                player.Use桃();
            }),
            new Card("桃",5, CardColor.红桃,CardPoint.N9, CardType.基本, (Player player) => {
                player.Use桃();
            }),
            new Card("桃",6, CardColor.红桃,CardPoint.Q, CardType.基本, (Player player) => {
                player.Use桃();
            }),
            new Card("桃",7, CardColor.方块,CardPoint.N2, CardType.基本, (Player player) => {
                player.Use桃();
            }),
            new Card("桃",8, CardColor.方块,CardPoint.Q, CardType.基本, (Player player) => {
                player.Use桃();
            }),

            // 15张闪
            new Card("闪",1, CardColor.红桃,CardPoint.N2, CardType.基本, (Player player) => {
                player.Use闪();
            }),
            new Card("闪",2, CardColor.红桃,CardPoint.N2, CardType.基本, (Player player) => {
                player.Use闪();
            }),
            new Card("闪",3, CardColor.红桃,CardPoint.K, CardType.基本, (Player player) => {
                player.Use闪();
            }),
            new Card("闪",4, CardColor.方块,CardPoint.N2, CardType.基本, (Player player) => {
                player.Use闪();
            }),
            new Card("闪",5, CardColor.方块,CardPoint.N2, CardType.基本, (Player player) => {
                player.Use闪();
            }),
            new Card("闪",6, CardColor.方块,CardPoint.N3, CardType.基本, (Player player) => {
                player.Use闪();
            }),
            new Card("闪",7, CardColor.方块,CardPoint.N4, CardType.基本, (Player player) => {
                player.Use闪();
            }),
            new Card("闪",8, CardColor.方块,CardPoint.N5, CardType.基本, (Player player) => {
                player.Use闪();
            }),
            new Card("闪",9, CardColor.方块,CardPoint.N6, CardType.基本, (Player player) => {
                player.Use闪();
            }),
            new Card("闪",10, CardColor.方块,CardPoint.N7, CardType.基本, (Player player) => {
                player.Use闪();
            }),
            new Card("闪",11, CardColor.方块,CardPoint.N8, CardType.基本, (Player player) => {
                player.Use闪();
            }),
            new Card("闪",12, CardColor.方块,CardPoint.N9, CardType.基本, (Player player) => {
                player.Use闪();
            }),
            new Card("闪",13, CardColor.方块,CardPoint.N10, CardType.基本, (Player player) => {
                player.Use闪();
            }),
            new Card("闪",14, CardColor.方块,CardPoint.J, CardType.基本, (Player player) => {
                player.Use闪();
            }),
            new Card("闪",15, CardColor.方块,CardPoint.J, CardType.基本, (Player player) => {
                player.Use闪();
            }),

            // 30张杀
            new Card("杀",1, CardColor.方块,CardPoint.N6, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",2, CardColor.方块,CardPoint.N7, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",3, CardColor.方块,CardPoint.N8, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",4, CardColor.方块,CardPoint.N9, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",5, CardColor.方块,CardPoint.N10, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",6, CardColor.方块,CardPoint.K, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",7, CardColor.黑桃,CardPoint.N7, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",8, CardColor.黑桃,CardPoint.N8, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",9, CardColor.黑桃,CardPoint.N8, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",10, CardColor.黑桃,CardPoint.N9, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",11, CardColor.黑桃,CardPoint.N9, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",12, CardColor.黑桃,CardPoint.N10, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",13, CardColor.黑桃,CardPoint.N10, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",14, CardColor.红桃,CardPoint.N10, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",15, CardColor.红桃,CardPoint.N10, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",16, CardColor.红桃,CardPoint.J, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",17, CardColor.梅花,CardPoint.N2, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",18, CardColor.梅花,CardPoint.N3, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",19, CardColor.梅花,CardPoint.N4, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",20, CardColor.梅花,CardPoint.N5, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",21, CardColor.梅花,CardPoint.N6, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",22, CardColor.梅花,CardPoint.N7, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",23, CardColor.梅花,CardPoint.N8, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",24, CardColor.梅花,CardPoint.N8, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",25, CardColor.梅花,CardPoint.N9, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",26, CardColor.梅花,CardPoint.N9, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",27, CardColor.梅花,CardPoint.N10, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",28, CardColor.梅花,CardPoint.N10, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",29, CardColor.梅花,CardPoint.J, CardType.基本, (Player player) => {
                player.Use杀();
            }),
            new Card("杀",30, CardColor.梅花,CardPoint.J, CardType.基本, (Player player) => {
                player.Use杀();
            }),

        };

        public override Module Provide()
        {
            return new Module("三国杀基本包", Cards, Heroes);
        }
    }
}
